namespace CSharpPro._0928
{
    // 封装水仙花数和质数的计算逻辑
    public class NumberDemo
    {
        // 方法1：输出1000内的水仙花数
        public void PrintNarcissisticNumbers()
        {
            Console.WriteLine("1000内的水仙花数：");
            for (int num = 100; num < 1000; num++)
            {
                int hundreds = num / 100;
                int tens = (num / 10) % 10;
                int units = num % 10;

                if (hundreds * hundreds * hundreds + tens * tens * tens + units * units * units == num)
                {
                    Console.Write(num + " ");
                }
            }
            Console.WriteLine(); // 换行，优化输出格式
        }

        // 方法2：输出100内的所有质数
        public void PrintPrimeNumbers()
        {
            Console.WriteLine("\n100内的所有质数：");
            for (int i = 2; i <= 100; i++)
            {
                bool isPrime = true;
                // 优化：仅判断到根号i，减少循环次数
                for (int j = 2; j * j <= i; j++)
                {
                    if (i % j == 0)
                    {
                        isPrime = false;
                        break;
                    }
                }
                if (isPrime)
                {
                    Console.Write(i + " ");
                }
            }
            Console.WriteLine();
        }
    }
}